}
});
+const ControlsLayout = new Lang.Class({
+ Name: 'ControlsLayout',
+ Extends: Clutter.BinLayout,
+ Signals: { 'allocation-changed': { flags: GObject.SignalFlags.RUN_LAST } },
+
+ vfunc_allocate: function(container, box, flags) {
+ this.parent(container, box, flags);
+ this.emit('allocation-changed');
+ }
+});
+
const ControlsManager = new Lang.Class({
Name: 'ControlsManager',
this._indicator = new MessagesIndicator(this.viewSelector);
this.indicatorActor = this._indicator.actor;
- this.actor = new St.Widget({ layout_manager: new Clutter.BinLayout(),
+ let layout = new ControlsLayout();
+ this.actor = new St.Widget({ layout_manager: layout,
reactive: true,
x_expand: true, y_expand: true,
clip_to_allocation: true });
expand: true });
this._group.add_actor(this._thumbnailsSlider.actor);
- this._group.connect('notify::allocation', Lang.bind(this, this._updateWorkspacesGeometry));
+ layout.connect('allocation-changed', Lang.bind(this, this._updateWorkspacesGeometry));
Main.overview.connect('showing', Lang.bind(this, this._updateSpacerVisibility));
Main.overview.connect('item-drag-begin', Lang.bind(this,